﻿namespace WgFrame.Security
{
    using System;

    public interface ICryptoProvider : IDisposable
    {
        byte[] Decrypt(byte[] data);
        byte[] Decrypt(byte[] data, int offset, int count);
        void DeriveSharedKey(byte[] otherPartyPublicKey);
        byte[] Encrypt(byte[] data);
        byte[] Encrypt(byte[] data, int offset, int count);

        bool IsInitialized { get; }

        byte[] PublicKey { get; }
    }
}

